Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support abc9_box on ordinary modules in abc_new #4737

Merged
merged 6 commits into from
Dec 10, 2024

Conversation

povik
Copy link
Member

@povik povik commented Nov 13, 2024

What are the reasons/motivation for this change?

To preserve boundaries of arithmetic operators, we want to isolate them into a new module which will become part of the design hierarchy. Ordinarily this would mean segmenting the timing paths for the technology mapper within ABC, but with new changes to abc_new we support having those be abc9 boxes with their propagation arcs described to the mapper.

Internally this calls the new portarcs command (PR #4736) once the module to be boxed has been technology-mapped.

In addition this PR allows applying different ABC scripts per module.

`$extern:...` modules inserted by `techmap -extern` are special in the
regard that they have a private ID (starting with a dollar sign) but are
not an internal cell. Support those modules in xaiger export.
Previously the `abc9_box` mode was reserved to modules with the
`blackbox` or `whitebox` attribute. Allow `abc9_box` on ordinary modules
when doing hierarchical synthesis.
@povik povik force-pushed the abc_new-design-boxes branch from f1857c9 to 0bb139d Compare December 10, 2024 13:32
@povik
Copy link
Member Author

povik commented Dec 10, 2024

Rebased to resolve merge conflict

@povik povik merged commit ea38fcc into YosysHQ:main Dec 10, 2024
23 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant